Подсчитайте
количество счастливых билетов, у которых сума первых трёх цифр равна n. Счастливым называется билет с
шестизначным номером, у которого сумма первых трёх цифр равна сумме трёх
последних.
Вход. Одно
натуральное число n (n ≤ 27).
Выход. Выведите
количество искомых счастливых билетов.
Пример входа |
Пример выхода |
1 |
9 |
перебор
Вычислим
количество p трехзначных чисел
(которые могут начинаться с нуля), сумма цифр которых равна n. Если возле любого трехзначного числа
с суммой цифр n приписать любое
трехзначное число с суммой цифр n, то
получится счастливый билет. Количество счастливых билетов равно p2.
Пример
Рассмотрим
случай, когда n = 1. Трехзначными
числами с суммой цифр 1 будут 001, 010 и 100. Если любое их них соединить с
любым другим, то получится 9 счастливых билетов.
Реализация алгоритма
Читаем входное значение n.
scanf("%d",&n);
В
переменной p вычисляем количество трехзначных
чисел с суммой цифр n.
p = 0;
Перебираем цифры трехзначного числа . Если сумма
его цифр равна n, то увеличиваем p на 1.
for(i = 0; i <= 9; i++)
for(j = 0; j <= 9; j++)
for(k = 0; k <= 9; k++)
if (i + j + k == n) p++;
Вычисляем и выводим ответ.
res = p * p;
printf("%d\n",res);
Java реализация
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int p = 0;
for(int i = 0; i <= 9; i++)
for(int j = 0; j <= 9; j++)
for(int k = 0; k <= 9; k++)
if (i + j + k == n) p++;
int res = p * p;
System.out.println(res);
con.close();
}
}
Python реализация
Читаем
входное значение n.
n = int(input())
В переменной p
вычисляем количество трехзначных чисел с суммой цифр n.
p = 0
Перебираем
цифры трехзначного числа . Если сумма его цифр равна n, то увеличиваем p на 1.
for i in range(10):
for j in range(10):
for k in range(10):
if (i + j + k == n):
p += 1
Вычисляем
и выводим ответ.
res = p *
p;
print(res)